package com.zn.service;

import com.zn.entity.FutureReportOrder;
import com.zn.vo.Message;
import com.zn.web.dto.OptionTradeDto;
import org.springframework.http.ResponseEntity;

import java.util.List;

/**
 * @author YinJiaWei
 * @version 2018/10/29 13:29
 */
public interface DocumentaryTradeService {


    /**
     * 开仓跟单报单请求
     * @param futureReportOrder
     * @return
     */
    public void reqsOpenDocumentaryReportOrder(FutureReportOrder futureReportOrder);

    /**
     * 平仓跟单报单请求
     * @param futureReportOrder
     * @return
     */
    public void reqsCloseDocumentaryReportOrder(FutureReportOrder futureReportOrder,String reportOpenOrderRef,Integer documentaryStatus);

    /**
     * 跟单撤单请求
     * @param reportOrderRef
     * @return
     * @throws Exception
     */
    public void reqsCancelDocumentaryReportOrder(String reportOrderRef);

    /**
     * 跟单报单响应
     * @param msg 来自c++的报单响应
     * @return
     */
    public ResponseEntity<Message> respDocumentaryReportOrder(String msg) throws Exception;

    /**
     * 跟单成交响应
     * @param msg 来自c++的成交响应
     * @return
     * @throws Exception
     */
    public ResponseEntity<Message> respDocumentaryDealOrder(String msg) throws  Exception;

}
